home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- """Psyco class support module.
-
- 'psyco.classes.psyobj' is an alternate Psyco-optimized root for classes.
- Any class inheriting from it or using the metaclass '__metaclass__' might
- get optimized specifically for Psyco. It is equivalent to call
- psyco.bind() on the class object after its creation.
-
- Note that this module has no effect with Python version 2.1 or earlier.
-
- Importing everything from psyco.classes in a module will import the
- '__metaclass__' name, so all classes defined after a
-
- from psyco.classes import *
-
- will automatically use the Psyco-optimized metaclass.
- """
- __all__ = [
- 'psyobj',
- 'psymetaclass',
- '__metaclass__']
-
- try:
- from _psyco import compacttype
- except ImportError:
-
- class psyobj:
- pass
-
- psymetaclass = None
-
- import core
- from types import FunctionType
-
- class psymetaclass(compacttype):
- '''Psyco-optimized meta-class. Turns all methods into Psyco proxies.'''
-
- def __new__(cls, name, bases, dict):
- bindlist = dict.get('__psyco__bind__')
- for attr in bindlist:
- dict[attr] = core.proxy(dict[attr])
-
- return super(psymetaclass, cls).__new__(cls, name, bases, dict)
-
-
- psyobj = psymetaclass('psyobj', (), { })
- __metaclass__ = psymetaclass
-